Skip to content

feat(skills): add server-side-conversion-tracking skill - #459

Open
autonnel wants to merge 2 commits into
OpenHands:mainfrom
autonnel:add-server-side-conversion-tracking-skill
Open

feat(skills): add server-side-conversion-tracking skill#459
autonnel wants to merge 2 commits into
OpenHands:mainfrom
autonnel:add-server-side-conversion-tracking-skill

Conversation

@autonnel

@autonnel autonnel commented Aug 6, 2026

Copy link
Copy Markdown
  • A human has tested these changes.

Why

Conversions get under-reported when browser pixels are blocked or truncated, and the usual symptom is that platform-reported purchases stop matching the order table, which then degrades ad optimization. There is no skill in skills/ covering the server-side reporting chain that fixes this.

Summary

  • Adds skills/server-side-conversion-tracking/SKILL.md (category integrations): click id capture and passthrough, server-side session, order write, queued delivery to Facebook Conversions API / TikTok Events API / Google Ads and Bing, deduplication against the browser pixel, reconciliation against real orders, plus a verification checklist and an explicit "what this does not fix" section.
  • Registers it in marketplaces/openhands-extensions.json, regenerates skills/index.js and the README catalog section.
  • Bumps EXPECTED_CATEGORY_COUNTS["integrations"] 6 to 7 in tests/test_skills_catalog.py, which is required for any new integrations entry.

Issue Number

N/A

How to Test

npm run build:skills                       # regenerates skills/index.js; should report no diff after this PR
python scripts/sync_extensions.py --check  # README catalog section is in sync
pytest tests/test_skills_catalog.py tests/test_catalogs.py

What I ran locally before opening this, and the result:

  • npm run build:skills - catalog regenerated, the new entry appears with category: "integrations".
  • python scripts/sync_extensions.py - README catalog section updated. The only coverage warning it prints (plugins/issue-duplicate-checker not in any marketplace) pre-exists on main and is untouched here.
  • pytest tests/test_skills_catalog.py tests/test_catalogs.py - 48 passed. Without the EXPECTED_CATEGORY_COUNTS bump, test_category_distribution_is_balanced fails with {'integrations': 7} != {'integrations': 6}.
  • Not run: the rest of the suite, which imports the openhands SDK. I did not install it locally, so that coverage is left to CI.

The skill's own content is documentation of platform HTTP endpoints; it ships no scripts or executables, so there is nothing else to execute here.

Video/Screenshots

Not applicable - this PR adds a Markdown skill and catalog metadata, no UI surface.

Notes

Disclosure: the "Implementing it" section points at Autonnel (Apache-2.0, self-hosted) as a reference implementation of the full chain, and I maintain that project. The rest of the skill is stack-independent and the reference carries no setup instructions. Happy to drop that paragraph if you would rather the skill carry no product reference.

@github-actions github-actions Bot added the type: feat A new feature label Aug 6, 2026
@all-hands-bot

Copy link
Copy Markdown
Contributor

👋 This PR needs a couple of things fixed before OpenHands can review it:

  • the PR description's HUMAN: section needs at least 20 characters describing what you tested, not just the template placeholder

Push an update once this is addressed and this check re-runs automatically.

This is an automated check - no AI was used to generate this comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feat A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants